home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
adult_ed
/
mase
/
print.me
< prev
next >
Wrap
Text File
|
1995-05-02
|
28KB
|
793 lines
@F
Adaptive Spectral Estimator User's Guide
GAdaptive Spectral Estimator
H Copyright (c) 1987, Wesley Hertel and Steven Seidl
This program may be freely distributed so long as the program, resource
code, documentation, author credits, and copyright notice remain
together. This program is NOT in the public domain. GEM and AES are
trademarks of Digital Research. ST is a trademark of Atari Corp.
Major portions of this program were developed with GFA BASIC
(distributed by Michtron) The authors of this program highly recommend
GFA BASIC as several functions this program executes would have been to
difficult/slow/inaccurate to include if not for this fine language.
Page 1
Adaptive Spectral Estimator User's Guide
G Introduction
H Adaptive Spectral Estimator (further referred to as ASE) is a
program that simulates the spectral characteristics of a described
signal. This program will transform a time domain signal into the
frequency domain. Unlike time-frequency transforms such as the FFT,
this program does not sample a actual signal but instead generates the
frequency domain characteristics from a hypothetical signal. Signals
are described to the ASE in the form of signal descriptive parameters.
You, the user may describe a signal of interest using the following
descriptive characteristics/parameters:
* Timebase (seconds, milliseconds, microseconds, nanoseconds)
* Carrier (Hertz, Kilohertz, megahertz, Gigahertz)
* Phase type (Absolute, Coherent, Differential, Random, Reference)
* Amplitude (Volts)
* Duration (dependent on Timebase setting)
* Position (dependent on Timebase setting)
* Phase (360 degrees)
The above descriptive characteristics/parameters may be manipulated
in a virtually unrestricted manner. Users of the FFT algorithm will
appreciate the ability to create the spectrum of signals at RF
frequency (with virtually unlimited resolution), and users who do not
know anything about spectroscopy may find this program graphically
interesting if nothing else. Version 1.0 of the ASE (not to be
confused with AES) is a complete program, several non-selectable items
appear on the main menu bar but are not necessary to operate the
program.
Although this version (1.0) suggests a infant product, in reality
it would probably be more like version 1.0 x 10^3 if all developmental
stages were included. Version 1.0 simply indicates how far along the
program was when the authors decided to share their work. Why all the
chatter on version numbers? The answer to that question depends upon
the reception of this program. Wes and I have worked very hard to
produce a very powerful program at a very reasonable price [VS03T free].
If there appears to be a need for this and other scientific
applications on the ST computer, and proper inclusion of copyright
notice is maintained, version 2.0 (just multiply by 1 thousand for
current developmental version) will be released. To give you an idea
of what is currently in the works, the following list of functions are
being developed for integration to the ASE:
* 3-D Ambiguity function
- variable X, Y, and Z scales
- view perspective adjustments
* Time Domain Analysis Tools
- Falling/Triggered Raster displays for I/O of data
- Oscilloscope display
- Graphic waveform manipulation
Page 2
Adaptive Spectral Estimator User's Guide
* High Resolution printer output
* Log/Linear amplitude scaling (with reference amplitude lock)
* Amplitude control enhancement for GID
* Output compatibility with DIF and other formats
* FFT routine (if somebody gives me a format for a digitizer file)
Due to Memory constraints, some of the above may be in the form of
integrated software, not part of ASE, but compatible where feasible.
GRequirements
HFor ASE to properly function you need:
* Atari 520/1040 ST computer
* Depending on version of ASE, a color or monochrome monitor
* floppy/hard disk w/MASE or CASE program and resource files
* All desk accessories removed from memory
* A desire to learn
Why MASE and CASE?
These file names indicate which version of ASE you have. Due to
memory constraints inflicted by very large matrix manipulations, a
separate color (CASE) version and monochrome (MASE) version of the ASE
were produced. This is also the reason for the 'no desk accessories in
memory' requirement. You are warned that running this program with
desk accessories in memory may have unpredictable side effects. Note
this limitation really only applies to 520 ST users, 1 meger's
shouldn't have to much problem with accessories in memory, but will
find that even if you do, they are disabled during program execution.
Both versions of the ASE run exactly the same as far as user
interface goes. In some areas, the monochrome version has a advantage
of increased resolution (notably the graphic input/output routines),
but at a price in increased processing time.
G Specifications
H Accuracy: Better then 1 part per million
Frequency range: DC to Light
Amplitude range: 0 to 9999999 Volts
Phase Deviation: 0 to 360 Degrees
Duration range: 0 to 9999999 Seconds
Position range: 0 to 9999999 Seconds
G Limitations
H Maximum number of signal descriptive segments: 512
Page 3
Adaptive Spectral Estimator User's Guide
Maximum number of plotted graphic data points: 400
Maximum number of calculated data points: 512
G Signal input/output device types
H Input Devices
A) Graphic signal input (G_Input)
B) Keyboard signal input (Input Data)
C) Disk file signal input (Load Data)
Output Devices
A) Graphic Signal Display (Graph)
1. Frequency vs Amplitude (Frequency)
2. Frequency vs Time (Discriminator)
3. Frequency vs Phase (Phase)
4. Tag (works with 1 and 2) (Tag)
5. Recalc (works with 1) (Recalc)
B) Display Signal Data (Display)
C) Print Signal Data (Print)
D) Scaled Frequency vs Amplitude plot (Hardcopy)
Note the commands for the above I/O routines are stated in brackets
to the right of each I/O type. For more details see the reference
section of this text. Currently the printer output (Print and
Hardcopy) work only with Epson compatible type printers. If your
printer can handle a regular screen dump from your ST, then you do not
have any problem. Disk files created and read by this program are
currently in ASCII format, this was originally for the purpose of
debugging the source code of this program. You, however, may find them
interesting to see how your Data Segments are seen by the calculation
routines, and also may want to modify your signals with any ASCII mode
word-processor. A complete guide to the format of these ASCII files
will be uploaded as a appendix at a later time.
Page 4
Adaptive Spectral Estimator User's Guide
G Getting Started
H Here is where the tutorial for this program will go!!
Unfortunately Wes and myself are so involved with the development of
this program that setting aside time to write a good tutorial on it's
use has so far been nearly impossible. What follows is a couple of
examples of how to operate the program sufficiently enough to get you
experimenting. So boot your ASE in gear and follow these simple
examples:
1. THE SPECTRUM OF A 1 USEC, 1 VOLT PULSE WITH A CARRIER OF 10 MHZ
A. Select FREQ GLOBALS from the PARAMETER menu.
B. Select MHZ for Frequency base, MICROSECOND for time base and
COHERENT for Phase type.
C. Select INPUT DATA from the OPTIONS menu.
D. Enter '1' at the 'ENTER NUMBER OF SEGMENTS:' prompt.
E. Select CONTIGUOUS from alert prompt.
F. Enter '1' at the 'AMPLITUDE' prompt.
G. Enter '1' at the 'DURATION' prompt.
H. Enter '10' at the 'FREQUENCY' prompt.
I. Select CALCULATE from the OPTIONS menu.
J. Enter '200' at the 'ENTER NUMBER OF DATA POINTS' prompt.
K. Enter '7' at the 'ENTER MINIMUM FREQUENCY' prompt.
L. Enter '13' at the 'ENTER MAXIMUM FREQUENCY' prompt.
M. Select 'GRAPH' from the OPTIONS menu.
N. Select 'FREQUENCY' From the options box on the screens right side.
O. Select 'TAG' from options box, move around screen, to quit tag
mode press right mouse button.
P. Select 'RECALC' from options box.
Q. Select GRAPHIC CURSOR from alert prompt.
R. Move cursor about 1 inch from left side of data display and press
the left mouse button.
S. Move cursor about 1 inch from right side of data display and press
the left mouse button.
T. Observe the bandwidth has now been narrowed (like a zoom
function).
U. Select 'PHASE' from the options box.
V. Select 'DISCRIMINATOR' from the options box (note that with no
frequency deviation, this will display a straight line).
W. Select 'MAIN MENU'
X. Select 'DISPLAY' from the OPTIONS menu.
Y. Enter several keystrokes to scroll thru data.
Z. Now wasn't that simple (I'm out of letters, or it would have been
longer).
Page 5
Adaptive Spectral Estimator User's Guide
G Using the Graphics Input Device (GID)
H Basically the GID will releave the user of entering steps C thru H
listed above. What this routine adds in ease of use, it equally
decreases in the flexibility and accuracy of signal descriptions. All
segments are assumed to have a amplitude of 1 volt in this mode,
frequencies are only accurate to 1/128th the total bandwidth for CASE
and 1/256th the bandwidth for MASE. Phase specification is also lost
in this mode, GID defaults all phase deviations as 0 degrees, this
applies to REFERENCE, DIFFERENTIAL, AND ABSOLUTE phase types. COHERENT
and RANDOM are of course not effected. Upon selection of G_Input the
user is given several prompts. Before choosing this option, please
think about your signal of interest as once you reply to the prompts,
the only way to reset them is to exit and then reenter the G_Input
routine. With all that said and done, you might ask why use GID if
it's such a beasty. Well, try to enter 512 segments describing a chirp
(Low to High linear frequency modulation) with the keyboard! To
describe the chirp signal would take thousands of keystrokes, with GID,
the same signal is a few mouse clicks away (draw a diagonal line).
G I D
+----------------------------------+ <- Freq max
| /\ |
Y | | B |
| | A |
A | | N |
X | | D |
I | | W |
S | | I |
| | D |
| | T |
| | H |
| \/ |
+----------------------------------+ <- Freq min
<---- X axis (total duration) --->
(in timebase units)
The above crude drawing should give you a idea of how the
parameters that you give GID effect your signal. Before I go into a
simple example of GID, several statements should be made. First,
remember that GID has to obey the 512 segment rule too (Use Segment
Sample mode!), we decided to keep linear sample mode in for the users
who want the capability to analyze detailed complex signals in a
minimum time. First time users please avoid this option. Secondly,
keep the number of tick-marks on the X axis less then 10 until you get
a feel for how it works.
Page 6
Adaptive Spectral Estimator User's Guide
This version of ASE does NOT protect the user from him/herself in
the GID mode! GID is meant as a powerful time saver, we know of no
other program that lets you "draw" a signal. If you try to use it like
a drawing program (ala DEGAS) you will soon find that your in trouble.
(DEGAS is a trademark of Batteries Included (I think), Great Job Tom
Hudson and thanks for DElite) I don't claim to know proper legalize so
please consider several proper names in this text as trademarks of
somebody.
G A GID Walk-Thru
H Lets use the same simple signal as we did with keyboard input a
page or two back. If you have not changed the global parameters you
can omit steps A and B (reference the previous walk-thru
instructions).
A. Select G_INPUT from the options menu.
B. Enter 20 for Maximum Frequency.
C. Enter 0 for Minimum Frequency. (that gives you a 20 MHz BW with
the carrier centered)
D. Enter '1' for X-axis window (a 1 usec pulse remember).
E. Enter '1' for number of X-axis tick marks (1 segment).
F. Enter '4' for number of Y-axis tick marks (for your
reference only)
G. Select 'Line' from alert box for type of drawing.
H. Select 'Draw' from options box.
I. Point and click at far left and center of GID display.
J. Point and click at far right and center of GID display.
K. Note a horizontal line, and press right mouse button to exit.
L. Select Create.
M. Select SEGEMENT sample mode (USE THIS MODE ALWAYS UNTIL YOU ARE
FAMILIAR WITH THIS PROGRAM!!!)
N. Select Exit
O. Repeat steps I thru Z as mentioned earlier.
Seem like alot of effort for something that is supposed to make
things easier? In the above case your exactly right! Now lets use GID
for something a little more complicated (the signal that is, GID dosn't
get any more difficult). Reenter G_Input again and lets make a
multi-segment signal.
A Repeat steps A thru C the same as before.
B. Enter '10' instead of '1' for steps D and E.
C. Repeat steps F thru H the same as before.
D. Point and Click at the far left and UPPER corner of GID display.
E. Point and Click at the far right and LOWER corner of GID Display.
F. Note a Diagional line, press right mouse button to exit.
G. Repeat steps L thru O as above.
Page 7
Adaptive Spectral Estimator User's Guide
What you have just created is a 10 segment pulse, sampled at 1 usec
intervals. Each Sample should be a different frequency, and the
spectrum should be totally different then previous examples which were
virtually identical. Sampling takes place at the center of each tick
mark with the starting position of each segment at the location of the
tick mark. The far left area of GID is always Time=0
The other functions of GID displayed in the option box (CLEAR,
ERASE, and EXIT are self explanatory. Notice so far that we have only
used LINE type signal drawing, this is because of the segment type
sampling. To see the effect of pixel drawing and linear sampling just
plot a couple of dots on the screen (no more then 512) and make sure
when you calculate the spectrum that your described bandwidth is
adequate to include the majority of the spectral power distribution.
Linear sampling will take considerably longer time to CREATE the signal
file, this is a result of having to evaluate and calculate every point
on the GID display. Remember, the more data samples you input to the
calculation routine, the longer it will take to calculate.
The last topic concerning GID is the time and frequency displays,
and the segment counter. In the upper right corner of the GID window
you will notice two labels (Time (timebase):, and Freq (freqbase):)
these displays will indicate the values that will be assigned to any
particular pixel point if it is sampled. The segment counter is
located in the lower right corner of the GID window, and is used to
indicate to the user how many segments were created during a sample.
As Mentioned in the opening portion of this text, use the keyboard
method to enter simple signal types. GID functions best as a "What If"
type device for complicated signals where a general idea of what the
spectral characteristics should be suffice.
G On Your Own With ASE
H The above text on ASE should not be considered a definitive
tutorial on the operation of ASE. This program is very flexible and
can be used to describe signal types such as RTZ, Barker Code, FSK,
PSK, AM, and just about any other signal modulation type you dream up.
The ASE works with negative as well as positive frequencies, The output
is as accurate at 1,000,000 Hertz as it is at 1 Hertz.
Page 8
Adaptive Spectral Estimator User's Guide
G Reference Section
H DESK MENU
About Spectrum
This option will indicate the current version number, authors, and
copyright notice of ASE
FILE MENU
Load Data
This option will load a signal descriptive file (SDF) from disk. You
can proceed directly to the calculate function after loading a SDF.
Save Data
This option will save a signal descriptive file from memory for later
use.
Print Data
This option will print the calculated spectral data of a signal. A SDF
must have first been calculated before using this option.
Quit Program
This option will return you to the GEM desktop.
OPTIONS MENU
Data Input
This option allows the user to enter a SDF thru the use of the
keyboard, and is the preferred method of data entry. See also NOTES ON
DATA ENTRY
Calculate
This option will calculate n data points derived from the SDF between
two frequencies (f1 and f2). Where n <= 400, and f1 < f2.
Display
This option will display data derived from the calculate function. To
scroll thru the signal data simply hit a key. Upon completion of
viewing data you will be returned to the main menu bar.
Page 9
Adaptive Spectral Estimator User's Guide
G Reference Section
H Graph
This option presents a multi-function graphics display device.
Available to the user are: Frequency, Discriminator, and Phase
displays. The user may also manipulate the data in several ways while
in this mode; Recalculate the spectral Bandwidth, number of data
points, tag values, display reference grid-lines, and several other
forms of manipulation. Use this mode to setup your display for the
hardcopy routine. This mode will become second nature after
experimentation.
G_Input
This option display the GID and associated prompts used in the graphic
entry of signal data. Experiment to get a feel for it's use.
Hardcopy
This option will scale and print the Frequency vs Amplitude data of
your SDF within the confines established in the calculate function.
PARAMETERS
Freq Globals
This option will display a dialog box with several options. The user
should choose a Time Base, Frequency Base, and a Phase Type. These
choices will drastically effect your data. The time base and Frequency
base parameters should not need any further explanation (they are used
simply as a factor in all numerical input/output and calculations).
Phase type is a bit more complicated and will effect not only your
signal data, but the amount of data you have to enter to describe your
signal. See Notes on Data entry for details.
Page 10
Adaptive Spectral Estimator User's Guide
G Reference Section
Notes About Data entry
H Time and Frequency Base
The Time Base selected reflects the unit of measurement of which
all data entered is proportional to. For instance, if a time base of
microseconds (usec) is selected, when you enter the number 2.94, you
are actually entering 2.94x10S0-6T, or 0.00000294. Likewise, if a
frequency base of Kilohertz is selected, and you enter 75.014, you are
actually entering 75.014x10S03T, or 75,014. The numbers above mean
nothing except to illustrate the effect of time and frequency bases.
The following is a chart to assist you in what the various units of
measurement mean:
TIME: NAME ENG. NOTATION DECIMAL BASE
SECONDS (sec) 1X10S01T 1.0
MICROSECONDS (msec) 1x10S0-3T .001
MICROSECONDS (usec) 1x10S0-6T .000001
NANOSECONDS (nsec) 1x10S0-9T .000000001
FREQUENCY NAME ENG. NOTATION DECIMAL BASE
HERTZ (Hz) 1x10S01T 1.0
KILOHERTZ (KHz) 1x10S03T 1000.0
MEGAHERTZ (MHz) 1x10S06T 1000000.0
GIGAHERTZ (GHz) 1x10S09T 1000000000.0
PHASE TYPES
The selection of phase type is a bit more involved then that of the
time and frequency base. The following descriptions should help you
establish which phase type you should select for proper spectral
output.
Coherent
Signal phase is generated from a single RF source whose frequency
is the same as the pulse (data segment). Initial phase is 0 at t=0.
This type of phase is calculated without user intervention, and is the
default for the program.
Differential
Signal phase is specified by the user in degrees (0-360). The
entered amount of phase is the deviation from the previous segments
ending phase. This selection is useful in simulating Phase Shift
Page 11
Adaptive Spectral Estimator User's Guide
G Reference Section
H Keying (PSK) signals.
Absolute
Signal phase is expressed in absolute terms irrespective of any
other reference or segment (what you enter is what you get (GIGO)).
Random
Signal phase is generated +/- 180 degrees randomly at start of each
segment. No user intervention is necessary or possible.
Reference
Signal phase is +/- amount specified with respect to an RF source
whose frequency is the same as the pulse segment and whose initial
phase is 0 at t=0.
COMMENTS ON ASE
The authors of this program feel that the ASE is a step in the
right direction for making the Atari ST computers presence felt in the
scientific community. Future versions of ASE and other applications
will be released at no cost to the public (although some may still be
copyrighted) only if there appears to be a need for this type of
application. How will we know this? The answer to that question must
be answered by you, the user. If you like this program, or would like
to make suggestions/comments for implementation into future versions,
LET US KNOW!. We believe that there has to be some other
Engineers/Technicians/Teachers/Whatever out there whom in their
infinite wisdom, selected the ST for it's power/price performance
ratio. Lets get together and make some serious scientific applications
for this computer. The fact is that scientific/technical programs
(e.g. MathCadS0TMT, and the like) will probably never be published for the
ST because of the relatively small user base (compared to big blue).
That leaves the development of these type applications to us, so far I
have yet to see anything more technical then fractals (pretty and
interesting, but no real application) for the ST. Lets see some good
applications on subjects like Electronics, Astronomy, Photography,
ect... .
Please send your comments to the authors of this program via
E-Mail. My UID on CIS is 72467,1242 or for GENIE <SE.SEIDL>.
P.S. IF SOMEBODY OUT THERE HAS A USER ACCOUNT ON BYTE-NET OR BIX,
PLEASE UPLOAD A VERSION OF ASE (MASE AND/OR CASE). WE REQUEST THIS AS
BYTE CARRIES ARTICLES ON FFT/SPECTAL ANALYSIS FROM TIME TO TIME, AND
PROBABLY HAVE A FEW EXPERTS IN SPECTROSCOPY THERE TO TEST THIS PROGRAM
FOR ANY PROBLEMS THAT WE MAY HAVE MISSED.
Page 12